Baking App
Common Project Requirements
| Criteria | Meet Specification |
|---|---|
|
App is written solely in the Java Programming Language |
App is written solely in the Java Programming Language |
|
Submission must use stable release versions of all libraries, Gradle, and Android Studio. Debug/beta/canary versions are not acceptable. |
App utilizes stable release versions of all libraries, Gradle, and Android Studio. |
General App Usage
| Criteria | Meet Specification |
|---|---|
|
Display recipes |
App should display recipes from provided network resource. |
|
App Navigation |
App should allow navigation between individual recipes and recipe steps. |
|
Utilization of RecyclerView |
App uses RecyclerView and can handle recipe steps that include videos or images. |
|
App conforms to common standards found in the Android Nanodegree General Project Guidelines. |
App conforms to common standards found in the Android Nanodegree General Project Guidelines. |
Components and Libraries
| Criteria | Meet Specification |
|---|---|
|
Master Detail Flow and Fragments |
Application uses Master Detail Flow to display recipe steps and navigation between them. |
|
Exoplayer(MediaPlayer) to display videos |
Application uses Exoplayer to display videos. |
|
Proper utilization of video assets |
Application properly initializes and releases video assets when appropriate. |
|
Proper network asset utilization |
Application should properly retrieve media assets from the provided network links. It should properly handle network requests. |
|
UI Testing |
Application makes use of Espresso to test aspects of the UI. |
|
Third-party libraries |
Application sensibly utilizes a third-party library to enhance the app's features. That could be helper library to interface with ContentProviders if you choose to store the recipes, a UI binding library to avoid writing findViewById a bunch of times, or something similar. |
Homescreen Widget
| Criteria | Meet Specification |
|---|---|
|
Application has a companion homescreen widget. |
Application has a companion homescreen widget. |
|
Widget displays ingredient list for desired recipe. |
Widget displays ingredient list for desired recipe. |